// proxy代理 es6

let obj = {name: 'Dashu', arr: [1, 2, 3]}
let  arr = [1, 2, 3]
// Object.defineProperty不支持数组的

// 可以监控到数组的变化
let p = new Proxy(arr, {
  get(target, key, proxy){ // 第三个属性叫代理的对象一般不用
    console.log('log')
    return Reflect.get(target, key)
    // return target[key]
  },
  set(target, key, value) {
    if(key == 'length') return true
    console.log('--------------')
    return Reflect.set(target, key, value)
  }
})

// console.log(p.name)
// console.log(obj.name)
p.push(12)
// console.log(arr)